package com.dd.cloud.user.mapper.admin;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dd.cloud.user.entity.admin.SaleInviteMechan;
import com.dd.cloud.user.req.admin.SaleInviteDoctorStatisticsReq;
import com.dd.cloud.user.req.admin.SaleInviteMechanPageReq;
import com.dd.cloud.user.res.admin.SaleInviteCountRes;
import com.dd.cloud.user.res.admin.SaleInviteDoctorStatisticsRes;
import com.dd.cloud.user.res.admin.SaleInviteMechanPageRes;
import com.dd.cloud.common.vo.PageVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Lx
 * @version 1.0
 */
public interface SaleInviteMechanMapper extends BaseMapper<SaleInviteMechan> {
    /**
     * 查询销售邀请机构列表
     *
     * @param iPage
     * @param req
     * @return
     */
    PageVo<SaleInviteMechanPageRes> querySaleInviteMechanPage(IPage<?> iPage, @Param("req") SaleInviteMechanPageReq req);

    /**
     * 查询销售邀请机构月份统计
     *
     * @param req
     * @return
     */
    List<SaleInviteCountRes> querySaleInviteCount(@Param("req") SaleInviteMechanPageReq req);

    /**
     * 销售首页统计邀请机构数量
     */
    SaleInviteDoctorStatisticsRes querySaleDoctorStatisticsNum(@Param("colQuery") SaleInviteDoctorStatisticsReq.SaleInviteDoctorStatisticsColQuery colQuery);

    /**
     * 销售统计邀请机构数量汇总
     */
    List<SaleInviteDoctorStatisticsRes.DoctorStatisticsDayRes> querySaleDoctorStatistics(@Param("query") SaleInviteDoctorStatisticsReq.SaleInviteDoctorStatisticsQuery query);
}
